package cn.tedu.thread;

public class Test3 {
    public static void main(String[] args) {
        MyTickets4 t1=new MyTickets4();
        MyTickets4 t2=new MyTickets4();
        MyTickets4 t3=new MyTickets4();
        MyTickets4 t4=new MyTickets4();
        //启动线程卖票
        t1.setName("窗口1");
        t2.setName("窗口2");
        t3.setName("窗口3");
        t4.setName("窗口4");
        t1.start();
        t2.start();
        t3.start();
        t4.start();
    }

}
class MyTickets4 extends Thread{
    //需求：设计4个售票窗口，总计售票100张
    static int tickets=100;//定义变量，记录票数
    //开始卖票业务--写在run（）--
    @Override
    public  void run() {
        //同步的 普通方法，使用的默认的锁对象时this，根本锁不住静态资源
        //
        //一直卖票
        while (true){//死循环，一定要配合出口
            synchronized (MyTickets4.class) {
                if (tickets > 0) {
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println(getName() + "====" + tickets--);
                } else {
                    break;
                }
            }
        }
    }

}